{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Bacon  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`bacon::bacon()` is a function that decomposes two-way fixed effects models into all 2x2 estimates and their weights following Goodman-Bacon (2018)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: Castle Doctrine\n",
    "The following example comes from Cheng and Hoekstra (2013, JHR). The authors estimate the effect of \"castle doctrines,\" state laws that make it easier to use lethal force in self defenense. The data set `castle` contains state/year level informaton from 2000-2010 on crime rates and whether or not the state had a castle doctrine in effect. Here we replicate the analysis on homicide rates. The key variables are :\n",
    "* `state`\n",
    "* `year`\n",
    "* `l_homicide` log of the homicide rate\n",
    "* `post` indicaticator for whether a castle doctrine law was in effect"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1] \"Two-way FE estimate = 0.0818116169306475\"\n",
      "                  type avg_estimate     weight\n",
      "1        Early vs Late  -0.01812884 0.05976325\n",
      "2        Late vs Early  -0.01812884 0.03189818\n",
      "3 Treated vs Untreated   0.12391825 0.90833857\n"
     ]
    }
   ],
   "source": [
    "library(bacon)\n",
    "library(ggplot2)\n",
    "df_bacon <- bacon(l_homicide ~ post,\n",
    "                  data = bacon::castle,\n",
    "                  id_var = \"state\",\n",
    "                  time_var = \"year\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "First we make sure that the weighted average of the decomposition equals the two-way fixed effects estimate:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1] \"Two-way FE estimate = 0.0818116169306471\"\n"
     ]
    }
   ],
   "source": [
    "fit_tw <- lm(l_homicide ~ post + factor(state) + factor(year), \n",
    "             data = bacon::castle)\n",
    "print(paste(\"Two-way FE estimate =\", fit_tw$coefficients[2]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, we plot each 2x2 estimate and its weight to see what is driving the result:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=",
      "text/plain": [
       "plot without title"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ggplot(df_bacon) +\n",
    "  aes(x = weight, y = estimate, shape = factor(type)) +\n",
    "  labs(x = \"Weight\", y = \"Estimate\", shape = \"Type\") +\n",
    "  geom_point()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example, one estimate has almost 60 percent of the weight: states treated in 2006 vs states that are never treated."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  treated untreated   estimate    weight                 type\n",
      "7    2006     99999 0.06823587 0.5923947 Treated vs Untreated\n"
     ]
    }
   ],
   "source": [
    "top_weight <- df_bacon[order(-df_bacon$weight), ][1, ]\n",
    "print(top_weight)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "R",
   "language": "R",
   "name": "ir"
  },
  "language_info": {
   "codemirror_mode": "r",
   "file_extension": ".r",
   "mimetype": "text/x-r-source",
   "name": "R",
   "pygments_lexer": "r",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
